1 CLEAR ;CY=8;PRINT "   NUMBER OF BASES 1-5"; R=KP-48;H=R;GOTO 34
2 Z=Z+B;IF ABS(Z)>78GOSUB 39;GOTO 10
3 BOX Z,Y-1,D÷3,1,1;BOX Z,Y,D,1,1;BOX Z,Y+1,D÷3,1,1;GOTO U
4 GOSUB 41;IF A=10B=-B;Y=-Y;Z=81
5 BOX Z,Y,D,3,2;V=39;IF TR(1)V=-39
6 S=JY(1);F=JX(1)×9;IF S=0U=5;GOTO 2
7 FOR C=S×9TO S×39STEP S×9;V=V+F;U=8;GOTO 2
8 IF PX(V,C)K=100×RND (4);BOX Z,Y,D,3,2;GOTO 25
9 BOX V,C,1,1,1;MU=16;BOX Z,Y,D,3,2;BOX V,C,1,1,3;NEXT C;GOTO 5
10 A=RND (10);K=100;E=0;IF A>8Y=36;B=RND (3)×3;D=B;Z=-81;GOTO 4
11 E=50;O=O+1;T=RND (3)×3;S=RND (3)×3;Q=78;X=Q;Y=39;B=RND (13)×3;C=RND (25)×3;GOTO A+11
12 X=-1×C;T=-T;GOTO 20
13 Y=-Y;X=-1×C;GOTO 20
14 Y=B;X=-X;T=-T;GOTO 20
15 Y=-1×B;X=-X;GOTO 20
16 Y=B;S=-S;Q=-Q;T=-T;GOTO 20
17 Y=-1×B;S=-S;Q=-Q;GOTO 20
18 X=C;S=-S;Q=-Q;T=-T;GOTO 20
19 Y=-Y;X=C;S=-S;Q=-Q
20 FOR Z=XTO QSTEP S;IF ABS(Y)>39GOTO 10
21 V=39;IF TR(1)V=-39
22 LINE V,0,4=XY;W=XY;F=V+JX(1)×39;G=JY(1)×39;LINE F,G,3;XY=W;A=PX(F,G);IF PX(Z,Y)LINE F,G,3;P=P+1;S=ABS(Z);GOTO 24
23 &(21)=A×I;&(23)=A×I;BOX Z,Y,2,1,3;LINE F,G,3;BOX Z,Y,2,1,3;&(21)=0;&(23)=0;Y=Y+T;K=K-(5×A);NEXT Z;GOTO 10
24 IF S>35 IF S<43 IF Y>-4 IF Y<4R=R-1;GOTO 28
25 D=125;GOSUB 41;FOR A=1TO 2;BOX Z,Y,1,7,3;BOX Z,Y,7,1,3;LINE Z-4,Y-4,4=XY;LINE Z+4,Y+4,3;LINE Z-4,Y+4,4=XY;LINE Z+4,Y-4,3
26 NEXT A;GOSUB 39;IF K>99N=N+K+E;CY=40;CX=-35;PRINT #1,K-E," PTS. BONUS";GOSUB 38;GOTO 31
27 N=N+K;GOTO 10
28 Q=9999;FOR A=0TO 16STEP 2;XY=RND (Q)-Q;@(A)=XY;LINE Z,Y,3;XY=RND (Q);@(A+1)=XY;LINE Z,Y,3;NEXT A;&(21)=I;T=FC
29 FOR A=ITO 0STEP -5;FC=BC;MU=I;&(23)=A;FC=7;NEXT A;&(21)=0;FOR A=0TO 17;XY=@(A);LINE Z,Y,3;NEXT A;FC=T
31 M=21×(O-P);IF N-M>J R=R+1;J=J+1000;D=I;GOSUB 41;CY=40;CX=-27;PRINT "BONUS BASE";GOSUB 38
32 CY=40;PRINT " BASES LEFT=",#1,R,"  SCORE=",#1,N-M;IF R>0GOSUB 38;GOTO 10
33 CY=0;CX=-23;PRINT "GAME OVER";IF KP R=H
34 CLEAR ;BC=0;I=255;NT=1;FC=BC+4+RND (32)×8;P=0;O=0;N=0;J=1000;IF R>5GOTO 1
35 FOR Z=1TO 40;Y=36-(RND (25)×3-1);X=81-(RND (53)×3-1);BOX X,Y,1,1,3;NEXT Z;FOR Z=-39TO 39STEP 78;BOX Z,0,11,11,2
36 BOX Z,0,3,9,3;BOX Z,0,9,3,3;BOX Z-3,0,1,9,1;BOX Z+3,0,1,9,1;BOX Z,3,9,1,1;BOX Z,-3,9,1,1
37 BOX Z-5,0,1,1,3;BOX Z,-5,1,1,3;BOX Z+5,0,1,1,3;BOX Z,5,1,1,3;BOX Z,0,1,1,3;NEXT Z;GOTO 10
38 FOR Z=1TO 600;NEXT Z;BOX 0,40,160,8,2
39 FOR Z=19TO 23;&(Z)=0;NEXT Z;RETURN 
41 &(21)=175;&(19)=15+(D×2);&(20)=25×D;RETURN 
>:RETURN ;RUN 
